clear; close all; clc;
rng('shuffle')
N=100000;

% %uniform
% 
% a=10; b=22;
% x=a+(b-a)*rand(1,N);
% bins=(a-2):0.1:(b-2);
% [yh,xh]=hist(x,bins);
% 
% % figure;
% % hist(x,100)
% % hold on
% % plot(xh,yh, 'r', 'Linewidth',3)
% % hold off
% 
% 
% figure;
% dxh=xh(2)-xh(1)
% ph=yh/(sum(yh)*dxh);
% 
% %[nul,i1, i2]=intersect(bins,xh);
% %tmp=zeros(1, length(bins));
% %tmp(i1)=ph; ph=tmp;
% %xh=bins;
% plot(xh,ph);
% xlabel('X'); ylabel('P(X)');
% ylim([0 1.1*max(ph)]);
% 
% sko=2; m=16;
% x=m+sko*randn(1,N);
% bins=(m-4*sko):(sko/4):(m+4*sko);
% [yh,xh]=hist(x,bins);
% 
% figure;
% hist(x,bins)
% hold on
% plot(xh,yh, 'r', 'Linewidth',3)
% hold off
% % 
% % 
% figure;
% dxh=xh(2)-xh(1)
% ph=yh/(sum(yh)*dxh);
% 
% [nul,i1, i2]=intersect(bins,xh);
% tmp=zeros(1, length(bins));
% tmp(i1)=ph; ph=tmp;
% xh=bins;
% plot(xh,ph);
% xlabel('X'); ylabel('P(X)');
% ylim([0 1.1*max(ph)]);
%  

% hi^2
% sko=2; m=4;
% x1=m+sko*randn(1,N);
% x2=m+sko*randn(1,N);
% x=x1.^2+x2.^2;
% [nul,bins]=hist(x,20);
% [yh,xh]=hist(x,bins);
% bins=(m-4*sko):(sko/4):(m+4*sko);
% 
% 
% figure;
% hist(x,bins)
% hold on
% plot(xh,yh, 'r', 'Linewidth',3)
% hold off
% % 
% % 
% figure;
% dxh=xh(2)-xh(1)
% ph=yh/(sum(yh)*dxh);
% 
% [nul,i1, i2]=intersect(bins,xh);
% tmp=zeros(1, length(bins));
% tmp(i1)=ph; ph=tmp;
% xh=bins;
% plot(xh,ph);
% xlabel('X'); ylabel('P(X)');
% ylim([0 1.1*max(ph)]);
 
%reley

% sko=2; m=4;
% x1=m+sko*randn(1,N);
% x2=m+sko*randn(1,N);
% x=sqrt(x1.^2+x2.^2);
% [nul,bins]=hist(x,20);
% [yh,xh]=hist(x,bins);
% 
% 
% 
% figure;
% hist(x,bins)
% hold on
% plot(xh,yh, 'r', 'Linewidth',3)
% hold off
% % 
% % 
% figure;
% dxh=xh(2)-xh(1)
% ph=yh/(sum(yh)*dxh);
% 
% 
% plot(xh,ph);
% xlabel('X'); ylabel('P(X)');
% ylim([0 1.1*max(ph)]);


d1=16;
d2=8;

l=chol([d1,d2,d3;
         d2,d1,d2;
         d3,d2,d1;]);
x1=nan